"""
MixVideo 依赖注入系统

一个轻量级、高性能的依赖注入框架，提供类型安全的依赖管理功能。

主要特性:
- 类型安全的依赖注入
- 多种作用域支持 (Singleton, Transient, Request, Cached)
- 装饰器驱动的配置
- 循环依赖检测
- 多线程安全
- 泛型类型支持
- 懒加载和性能优化
- 完整的测试支持

文档:
- 快速开始: docs/dependency_injection.md
- API文档: docs/di_api.md
- 最佳实践: docs/di_best_practices.md
- 故障排除: docs/di_troubleshooting.md
"""

from .container import Injector, Container, injector
from .decorators import Injectable, Inject, Singleton, Transient, Service, service
from .tokens import Token, StringToken, ClassToken, GenericToken, create_token
from .providers import Provider, ClassProvider, FactoryProvider, ValueProvider
from .scopes import Scope, SingletonScope, TransientScope, RequestScope

__all__ = [
    # 核心容器
    "Injector",
    "Container",
    "injector",

    # 装饰器
    "Injectable",
    "Inject",
    "Singleton",
    "Transient",
    "Service",
    "service",

    # Token系统
    "Token",
    "StringToken",
    "create_token",

    # 提供者
    "Provider",
    "ClassProvider",
    "FactoryProvider",
    "ValueProvider",

    # 作用域
    "Scope",
    "SingletonScope",
    "TransientScope",
    "RequestScope",
]